package com.hn.project.rqinspect.service;

import com.hn.project.rqinspect.domain.database.Branch;
import com.hn.project.rqinspect.domain.database.BranchCheckpoint;
import com.hn.project.rqinspect.domain.database.BranchPart;
import com.hn.project.rqinspect.domain.database.CheckPartType;
import com.hn.project.rqinspect.domain.dto.BranchCheckpointDto;
import com.hn.project.rqinspect.domain.dto.BranchDto;
import com.hn.project.rqinspect.domain.vo.BranchVo;
import com.hn.project.rqinspect.domain.vo.TaskCheckRecordVo;

import java.util.List;

public interface BranchService {

    /**
     *  网点列表
     */
    List<BranchDto> listBranchDto(BranchVo branchVo);

    BranchDto getBranchDto(Integer branchId);

    /**
     *  网点部位类型列表
     */
    List<CheckPartType> listPartType(Integer taskRecordId);

    /**
     *  查询网点下的 对应部位类型的 部位列表
     */
    List<BranchPart> listBranchPart(Integer branchId, Integer partTypeId);

    /**
     *  根据网点部位id查询检查点列表
     */
    List<BranchCheckpoint> listBranchCheckpoint(Integer branchPartId,Integer taskRecordId);

    /**
     *  根据经纬度获取网点
     * @param lng 经度
     * @param lat 纬度
     * @return
     */
    List<Branch> listBranchByPosition(String lng, String lat);

    Branch getBranchByPosition(String lng, String lat);

    /**
     * 获取未评价的检查点
     */
    List<BranchCheckpointDto> listNoCheckBranchCheckpoint(Integer partTypeId,Integer taskRecordId );


}
